package com.xdap.materialselect.entity.po;

import com.definesys.mpaas.query.annotation.Column;
import com.definesys.mpaas.query.annotation.ColumnType;
import com.definesys.mpaas.query.annotation.Table;
import com.definesys.mpaas.query.json.MpaasDateTimeDeserializer;
import com.definesys.mpaas.query.json.MpaasDateTimeSerializer;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Data;

import java.util.Date;

/**
 * @Description:
 * @Auther:huhanrui
 * @Date:2025/9/18 16:20
 */
@Data
@Table("t_batch_common_info")
public class TbatchCommonInfo extends  SystemCommon {

    @Column("batch_no")
    private String batchNo;

    @Column("pick_status")
    private String pickStatus;

    @Column("static_tag")
    private String staticTag;

    @Column("production_base")
    private String productionBase;

    @Column("production_line")
    private String productionLine;

    @Column("material_model")
    private String materialModel;

    @Column("production_base_dic")
    private String productionBaseDic;

    @Column("product_type")
    private String productType;

    @Column("balance_weight")
    private Double balanceWeight;

    @Column("current_weight_kg")
    private Double currentWeightKg;

    @Column("lock_weight_kg")
    private Double lockWeightKg;

    @Column("seq")
    private Integer seq;

    @JsonDeserialize(using = MpaasDateTimeDeserializer.class)
    @JsonSerialize(using = MpaasDateTimeSerializer.class)
    @Column("storage_date")
    private Date storageDate;

    @JsonDeserialize(using = MpaasDateTimeDeserializer.class)
    @JsonSerialize(using = MpaasDateTimeSerializer.class)
    @Column("out_date")
    private Date outDate;

    @Column(type = ColumnType.JAVA)
    private String materialModelText;
}
